package com.xzl.tool.util;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 公共返回对象
 *
 * @author zhoubin
 * @since 1.0.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RespBean {

    private Integer code;
    private String message;
    private Object data;

    /**
     * 成功返回方法
     *
     * @param message
     * @return
     */
    public static RespBean success(String message) {
        return new RespBean(200, message, null);
    }

	/**
	 * 成功返回方法
	 *
	 * @param
	 * @return
	 */
    public static RespBean success() {
        return new RespBean(200, "success", null);
    }

    /**
     * 成功返回方法
     *
     * @param message
     * @return
     */
    public static RespBean success(String message, Object obj) {
        return new RespBean(200, message, obj);
    }
	/**
	 * 成功返回方法
	 *
	 * @param obj
	 * @return
	 */
	public static RespBean success( Object obj) {
		return new RespBean(200, "success", obj);
	}

	/**
	 * 失败返回方法
	 *
	 * @param message
	 * @return
	 */
	public static RespBean error(String message) {
		return new RespBean(500, message, null);
	}

	/**
	 * 失败返回方法
	 *
	 * @param
	 * @return
	 */
	public static RespBean error() {
		return new RespBean(500, "error", null);
	}

    /**
     * 失败返回方法
     *
     * @param message
     * @return
     */
    public static RespBean error(String message, Object obj) {
        return new RespBean(500, message, obj);
    }

	public static RespBean error(int code,String message) {
		return new RespBean(code, message, null);
	}
    public static RespBean noLogin() {
        return new RespBean(401, "尚未登录，先重新登录", null);
    }
}